package cn.iocoder.yudao.module.handguard.convert.user;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.handguard.controller.app.user.vo.AuthLoginRespVo;
import cn.iocoder.yudao.module.handguard.controller.app.user.vo.UserBaseVO;
import cn.iocoder.yudao.module.handguard.controller.app.user.vo.UserRecommendBaseVO;
import cn.iocoder.yudao.module.handguard.dal.dataobject.user.UserDO;
import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenRespDTO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @author: liuweijun
 * @since: 2023/9/11 17:23
 * @description:
 */
@Mapper
public interface MiniUserConvert {

    MiniUserConvert INSTANCE = Mappers.getMapper(MiniUserConvert.class);

    List<UserBaseVO> convertList(List<UserDO> list);

    List<UserRecommendBaseVO> convertRList(List<UserDO> list);

    PageResult<UserBaseVO> convertPage(PageResult<UserDO> page);

    UserBaseVO convert(UserDO user);


    AuthLoginRespVo miniConvert(OAuth2AccessTokenRespDTO bean);
}
